package ar.com.hc.model;

import java.util.Date;

import javax.persistence.MappedSuperclass;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;

import ar.com.hc.utils.HCDateUtils;

@MappedSuperclass
public class HCAuditableModel extends HCModel {

	private Date creationDate;

	private Date modificationDate;

	public Date getCreationDate() {
		return creationDate;
	}

	public void setCreationDate(Date fechaCreacion) {
		this.creationDate = fechaCreacion;
	}

	public Date getModificationDate() {
		return modificationDate;
	}

	public void setModificationDate(Date fechaModificacion) {
		this.modificationDate = fechaModificacion;
	}

	@PrePersist
	public void onCreation() {
		Date fecha = HCDateUtils.getThisMoment();
		this.setCreationDate(fecha);
		this.setModificationDate(fecha);
	}

	@PreUpdate
	public void onModification() {
		Date fecha = HCDateUtils.getThisMoment();
		this.setModificationDate(fecha);
	}
}
